/**
 * @file StarModel.h
 *
 * @author Zbigniew Siciarz
 * @date 2009
 * @version 2.0.0
 * @since 2.0.0
 */

#ifndef STARMODEL_H
#define STARMODEL_H

#include "dogz/StarManager.h"
#include <QModelIndex>
#include <QObject>
#include <QSqlTableModel>
#include <QString>
#include <QVariant>

/**
 * Nakładka na model tabeli - dopasowanie do widoku tabeli gwiazd.
 */
class StarModel : public QSqlTableModel
{
public:
    /**
     * Typy gwiazd używane przy filtrowaniu tabeli.
     */
    enum StarType {All, Eclipsing, Cepheid, Mira, Semiregular, Eruptive };

    StarModel(const QString& tableName, Dogz::StarManager::TableColumns column,
            Qt::SortOrder order, QObject* parent);
    QVariant data(const QModelIndex& item, int role) const;

    bool selectByType(StarType type);
};

#endif
